﻿<!DOCTYPE html><html data-bs-theme="light"><head>
    <meta charset="utf-8">
      <title>Class Cat&lt;T, K&gt; | docfx seed website </title>
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta name="title" content="Class Cat<T, K> | docfx seed website ">
      
      <meta name="description" content="Here's main class of this Demo. You can see mostly type of article within this class and you for more detail, please see the remarks.  this class is a template class. It has two Generic parameter. they are: T and K. The extension method of this class can refer to  class">
      <link rel="icon" href="../favicon.ico">
      <style class="anchorjs"></style><link rel="stylesheet" href="../public/docfx.min.css">
      <link rel="stylesheet" href="../public/main.css">
      <meta name="docfx:navrel" content="../toc.html">
      <meta name="docfx:tocrel" content="toc.html">
      
      <meta name="docfx:rel" content="../">
      
      
      <meta name="docfx:docurl" content="https://github.com/dotnet/docfx/blob/main/samples/seed/specs/Cat.md/#L2">
      <meta name="loc:inThisArticle" content="In this article">
      <meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
      <meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
      <meta name="loc:tocFilter" content="Filter by title">
      <meta name="loc:nextArticle" content="Next">
      <meta name="loc:prevArticle" content="Previous">
      <meta name="loc:themeLight" content="Light">
      <meta name="loc:themeDark" content="Dark">
      <meta name="loc:themeAuto" content="Auto">
      <meta name="loc:changeTheme" content="Change theme">
      <meta name="loc:copy" content="Copy">
      <meta name="loc:downloadPdf" content="Download PDF">
  <script type="module" src="./../public/docfx.min.js"></script><script>
    const theme = localStorage.getItem('theme') || 'auto'
    document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
  </script></head>

  

  


  <body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
    <header class="bg-body border-bottom">
      <nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
        <div class="container-xxl flex-nowrap">
          <a class="navbar-brand" href="../index.html">
            <img id="logo" class="svg" src="../logo.svg" alt="Seed">
            Seed
          </a>
          <button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
            <i class="bi bi-three-dots"></i>
          </button>
          <div class="collapse navbar-collapse" id="navpanel">
            <div id="navbar">
              <form class="search" role="search" id="search">
                <i class="bi bi-search"></i>
                <input class="form-control" id="search-query" type="search" placeholder="Search" autocomplete="off" aria-label="Search">
              </form>
            
    <ul class="navbar-nav"><li class="nav-item"><a class="nav-link " aria-current="false" href="http://localhost:8089/index.html">Home</a></li><li class="nav-item"><a class="nav-link " aria-current="false" href="http://localhost:8089/articles/docfx_getting_started.html">Articles</a></li>
            <li class="nav-item dropdown">
              <a href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false" class="nav-link dropdown-toggle active">
                API Documentation
              </a>
              <ul class="dropdown-menu"><li class="nav-item"><a class="nav-link active" aria-current="page" href="http://localhost:8089/api/BuildFromAssembly.html">.NET API</a></li><li class="nav-item"><a class="nav-link " aria-current="false" href="http://localhost:8089/md/BuildFromAssembly.html">.NET API (markdown)</a></li><li class="nav-item"><a class="nav-link " aria-current="false" href="http://localhost:8089/apipage/BuildFromAssembly.html">.NET API (apipage)</a></li><li class="nav-item"><a class="nav-link " aria-current="false" href="http://localhost:8089/restapi/petstore.html">REST API</a></li></ul>
            </li></ul> 
      <form class="icons">
        <a class="btn border-0" href="https://github.com/dotnet/docfx" title="GitHub"><i class="bi bi-github"></i></a><a class="btn border-0" href="https://twitter.com/" title="Twitter"><i class="bi bi-twitter"></i></a>
        
    <div class="dropdown">
      <a class="btn border-0 dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false" title="Change theme">
        <i class="bi bi-circle-half"></i>
      </a>
      <ul class="dropdown-menu dropdown-menu-end">
        <li><a class="dropdown-item" href="#"><i class="bi bi-sun"></i> Light</a></li>
        <li><a class="dropdown-item" href="#"><i class="bi bi-moon"></i> Dark</a></li>
        <li><a class="dropdown-item" href="#"><i class="bi bi-circle-half"></i> Auto</a></li>
      </ul>
    </div>
      </form></div>
          </div>
        </div>
      </nav>
    </header>

    <main class="container-xxl">
      <div class="toc-offcanvas">
        <div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
          <div class="offcanvas-header">
            <h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
            <button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
          </div>
          <div class="offcanvas-body">
            <nav class="toc" id="toc">
      
      <form class="filter">
        <i class="bi bi-filter"></i>
        <input class="form-control" type="search" autocomplete="off" value="" placeholder="Filter by title" aria-label="Filter by title">
      </form> 
      <div class="flex-fill overflow-y-auto"><ul>
        <li class=" expander ">
          <span class="expand-stub"></span>
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromAssembly.html">Build<wbr>From<wbr>Assembly</a>
          <ul>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromAssembly.Class1.html">Class1</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromAssembly.Issue5432.html">Issue5432</a>
          
        </li></ul>
        </li>
        <li class=" expander ">
          <span class="expand-stub"></span>
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromCSharpSourceCode.html">Build<wbr>From<wbr>CSharp<wbr>Source<wbr>Code</a>
          <ul>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromCSharpSourceCode.CSharp.html">CSharp</a>
          
        </li></ul>
        </li>
        <li class=" expander ">
          <span class="expand-stub"></span>
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.html">Build<wbr>From<wbr>Project</a>
          <ul>
        <li class=" expander ">
          <span class="expand-stub"></span>
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Issue8540.html">Issue8540</a>
          <ul>
        <li class=" expander ">
          <span class="expand-stub"></span>
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Issue8540.A.html">A</a>
          <ul>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Issue8540.A.A.html">A</a>
          
        </li></ul>
        </li>
        <li class=" expander ">
          <span class="expand-stub"></span>
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Issue8540.B.html">B</a>
          <ul>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Issue8540.B.B.html">B</a>
          
        </li></ul>
        </li></ul>
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Class1.html">Class1</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Class1.IIssue8948.html">Class1.<wbr>IIssue8948</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Class1.Issue8665.html">Class1.<wbr>Issue8665</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Class1.Issue8696Attribute.html">Class1.<wbr>Issue8696<wbr>Attribute</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Class1.Issue8948.html">Class1.<wbr>Issue8948</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Class1.Issue9260.html">Class1.<wbr>Issue9260</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Class1.Test-1.html">Class1.<wbr>Test&lt;<wbr>T&gt;</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Dog.html">Dog</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.IInheritdoc.html">IInheritdoc</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Inheritdoc.html">Inheritdoc</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Inheritdoc.Issue6366.html">Inheritdoc.<wbr>Issue6366</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html">Inheritdoc.<wbr>Issue6366.<wbr>Class1&lt;<wbr>T&gt;</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Inheritdoc.Issue6366.Class2.html">Inheritdoc.<wbr>Issue6366.<wbr>Class2</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Inheritdoc.Issue7035.html">Inheritdoc.<wbr>Issue7035</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Inheritdoc.Issue7484.html">Inheritdoc.<wbr>Issue7484</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Inheritdoc.Issue8101.html">Inheritdoc.<wbr>Issue8101</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Inheritdoc.Issue8129.html">Inheritdoc.<wbr>Issue8129</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromProject.Issue8725.html">Issue8725</a>
          
        </li></ul>
        </li>
        <li class=" expander ">
          <span class="expand-stub"></span>
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromVBSourceCode.html">Build<wbr>From<wbr>VBSource<wbr>Code</a>
          <ul>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromVBSourceCode.BaseClass1.html">Base<wbr>Class1</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/BuildFromVBSourceCode.Class1.html">Class1</a>
          
        </li></ul>
        </li>
        <li class=" expander expanded active ">
          <span class="expand-stub"></span>
          <a class="  " href="http://localhost:8089/api/CatLibrary.html">Cat<wbr>Library</a>
          <ul>
        <li class=" expander ">
          <span class="expand-stub"></span>
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.Core.html">Core</a>
          <ul>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.Core.ContainersRefType.html">Containers<wbr>Ref<wbr>Type</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.Core.ContainersRefType.ColorType.html">Containers<wbr>Ref<wbr>Type.<wbr>Color<wbr>Type</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html">Containers<wbr>Ref<wbr>Type.<wbr>Containers<wbr>Ref<wbr>Type<wbr>Child</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html">Containers<wbr>Ref<wbr>Type.<wbr>Containers<wbr>Ref<wbr>Type<wbr>Child<wbr>Interface</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html">Containers<wbr>Ref<wbr>Type.<wbr>Containers<wbr>Ref<wbr>Type<wbr>Delegate</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.Core.ExplicitLayoutClass.html">Explicit<wbr>Layout<wbr>Class</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.Core.Issue231.html">Issue231</a>
          
        </li></ul>
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.CatException-1.html">Cat<wbr>Exception&lt;<wbr>T&gt;</a>
          
        </li>
        <li class=" active ">
          
          <a class="  " href="http://localhost:8089/api/CatLibrary.Cat-2.html">Cat&lt;<wbr>T,<wbr> K&gt;</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.Complex-2.html">Complex&lt;<wbr>T,<wbr> J&gt;</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.FakeDelegate-1.html">Fake<wbr>Delegate&lt;<wbr>T&gt;</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.IAnimal.html">IAnimal</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.ICat.html">ICat</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.ICatExtension.html">ICat<wbr>Extension</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.MRefDelegate-3.html">MRef<wbr>Delegate&lt;<wbr>K,<wbr> T,<wbr> L&gt;</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.MRefNormalDelegate.html">MRef<wbr>Normal<wbr>Delegate</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.Tom.html">Tom</a>
          
        </li>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/CatLibrary.TomFromBaseClass.html">Tom<wbr>From<wbr>Base<wbr>Class</a>
          
        </li></ul>
        </li>
        <li class=" expander ">
          <span class="expand-stub"></span>
          <a class=" nav-link " href="http://localhost:8089/api/MRef.Demo.Enumeration.html">MRef.<wbr>Demo.<wbr>Enumeration</a>
          <ul>
        <li class="  ">
          
          <a class=" nav-link " href="http://localhost:8089/api/MRef.Demo.Enumeration.ColorType.html">Color<wbr>Type</a>
          
        </li></ul>
        </li></ul></div>
      <div class="py-2 mb-md-4"><a class="pdf-link" href="http://localhost:8089/api/toc.pdf">Download PDF</a></div></nav>
          </div>
        </div>
      </div>

      <div class="content">
        <div class="actionbar">
          <button class="btn btn-lg border-0 d-md-none" style="margin-top: -.65em; margin-left: -.8em" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
            <i class="bi bi-list"></i>
          </button>

          <nav id="breadcrumb">
        <ol class="breadcrumb">
          <li class="breadcrumb-item"><a href="http://localhost:8089/api/BuildFromAssembly.html">.NET API</a></li><li class="breadcrumb-item"><a href="http://localhost:8089/api/CatLibrary.html">Cat<wbr>Library</a></li>
        </ol></nav>
        </div>

        <article data-uid="CatLibrary.Cat`2">



  <h1 id="CatLibrary_Cat_2" data-uid="CatLibrary.Cat`2" class="text-break">
Class Cat&lt;T, K&gt;  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L113"><i class="bi bi-code-slash"></i></a>
  </h1>

  <div class="facts text-secondary">
    <dl><dt>Namespace</dt><dd><a class="xref" href="CatLibrary.html">Cat<wbr>Library</a></dd></dl>
  <dl><dt>Assembly</dt><dd>CatLibrary.dll</dd></dl>
  </div>

  <div class="markdown summary"><p>Here's main class of this <i>Demo</i>.</p>
<p>You can see mostly type of article within this class and you for more detail, please see the remarks.</p>
<p></p>
<p>this class is a template class. It has two Generic parameter. they are: <code class="typeparamref">T</code> and <code class="typeparamref">K</code>.</p>
<p>The extension method of this class can refer to <a class="xref" href="CatLibrary.ICatExtension.html">ICat<wbr>Extension</a> class</p>
</div>
  <div class="markdown conceptual">
<p>This is a class talking about <a href="https://en.wikipedia.org/wiki/Cat" target="_blank" rel="noopener noreferrer nofollow" class="external">CAT</a>.</p>
<blockquote>
<p><strong>NOTE</strong>
This is a CAT class</p>
</blockquote>
<p>Refer to <a class="xref" href="CatLibrary.IAnimal.html">IAnimal</a> to see other animals.</p>
</div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes">[<span class="hljs-meta">Serializable</span>]
[<span class="hljs-meta">Obsolete</span>]
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">Cat</span>&lt;<span class="hljs-title">T</span>, <span class="hljs-title">K</span>&gt; : <span class="hljs-title">ICat</span>, <span class="hljs-title">IAnimal</span> <span class="hljs-keyword">where</span> <span class="hljs-title">T</span> : <span class="hljs-keyword">class</span>, <span class="hljs-title">new</span>() <span class="hljs-keyword">where</span> <span class="hljs-title">K</span> : <span class="hljs-title">struct</span></code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>



  <h4 class="section" id="type-parameters">Type Parameters<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#type-parameters" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><code>T</code></dt>
    <dd><p>This type should be class and can new instance.</p>
</dd>
    <dt><code>K</code></dt>
    <dd><p>This type is a struct type, class type can't be used for this parameter.</p>
</dd>
  </dl>

  <dl class="typelist inheritance">
    <dt>Inheritance</dt>
    <dd>
      <div><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.object" target="_blank" rel="noopener noreferrer nofollow">object</a></div>
      <div><span class="xref">Cat&lt;T, K&gt;</span></div>
    </dd>
  </dl>

  <dl class="typelist implements">
    <dt>Implements</dt>
    <dd>
      <div><a class="xref" href="CatLibrary.ICat.html">ICat</a></div>
      <div><a class="xref" href="CatLibrary.IAnimal.html">IAnimal</a></div>
    </dd>
  </dl>


  <dl class="typelist inheritedMembers">
    <dt>Inherited Members</dt>
    <dd>
    <div>
      <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" target="_blank" rel="noopener noreferrer nofollow">object.<wbr>Equals(object,<wbr> object)</a>
    </div>
    <div>
      <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode" target="_blank" rel="noopener noreferrer nofollow">object.<wbr>Get<wbr>Hash<wbr>Code()</a>
    </div>
    <div>
      <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.object.gettype" target="_blank" rel="noopener noreferrer nofollow">object.<wbr>Get<wbr>Type()</a>
    </div>
    <div>
      <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" target="_blank" rel="noopener noreferrer nofollow">object.<wbr>Memberwise<wbr>Clone()</a>
    </div>
    <div>
      <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals" target="_blank" rel="noopener noreferrer nofollow">object.<wbr>Reference<wbr>Equals(object,<wbr> object)</a>
    </div>
    <div>
      <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.object.tostring" target="_blank" rel="noopener noreferrer nofollow">object.<wbr>To<wbr>String()</a>
    </div>
  </dd></dl>

  <dl class="typelist extensionMethods">
    <dt>Extension Methods</dt>
    <dd>
  <div>
      <a class="xref" href="CatLibrary.ICatExtension.html#CatLibrary_ICatExtension_Play_CatLibrary_ICat_CatLibrary_Core_ContainersRefType_ColorType_">ICat<wbr>Extension.<wbr>Play(ICat,<wbr> Containers<wbr>Ref<wbr>Type.<wbr>Color<wbr>Type)</a>
  </div>
  <div>
      <a class="xref" href="CatLibrary.ICatExtension.html#CatLibrary_ICatExtension_Sleep_CatLibrary_ICat_System_Int64_">ICat<wbr>Extension.<wbr>Sleep(ICat,<wbr> long)</a>
  </div>
  </dd></dl>


  <h2 id="CatLibrary_Cat_2_examples">Examples<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_examples" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h2>
  <p>Here's example of how to create an instance of this class. As T is limited with <code>class</code> and K is limited with <code>struct</code>.</p>
<pre><code class="lang-c# hljs language-c" data-highlighted="yes">var a = new Cat(object, <span class="hljs-type">int</span>)();
<span class="hljs-type">int</span> catNumber = new <span class="hljs-type">int</span>();
unsafe
{
    a.GetFeetLength(catNumber);
}</code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
<p>As you see, here we bring in <b>pointer</b> so we need to add <code class="languageKeyword">unsafe</code> keyword.</p>


  <h2 id="CatLibrary_Cat_2_remarks">Remarks<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_remarks" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h2>
  <div class="markdown level0 remarks"><p><em>THIS</em> is remarks overridden in <em>MARKDWON</em> file</p>
</div>


  <h2 class="section" id="constructors">Constructors<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#constructors" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h2>


  <a id="CatLibrary_Cat_2__ctor_" data-uid="CatLibrary.Cat`2.#ctor*"></a>

  <h3 id="CatLibrary_Cat_2__ctor" data-uid="CatLibrary.Cat`2.#ctor">
  Cat()
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L123"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2__ctor" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>Default constructor.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes"><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Cat</span>()</span></code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>













  <a id="CatLibrary_Cat_2__ctor_" data-uid="CatLibrary.Cat`2.#ctor*"></a>

  <h3 id="CatLibrary_Cat_2__ctor_System_String_System_Int32__System_String_System_Boolean_" data-uid="CatLibrary.Cat`2.#ctor(System.String,System.Int32@,System.String,System.Boolean)">
  Cat(string, out int, string, bool)
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L138"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2__ctor_System_String_System_Int32__System_String_System_Boolean_" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>It's a complex constructor. The parameter will have some attributes.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes"><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Cat</span>(<span class="hljs-params"><span class="hljs-built_in">string</span> nickName, <span class="hljs-keyword">out</span> <span class="hljs-built_in">int</span> age, <span class="hljs-built_in">string</span> realName, <span class="hljs-built_in">bool</span> isHealthy</span>)</span></code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>

  <h4 class="section" id="parameters">Parameters<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#parameters" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><code>nickName</code> <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.string" target="_blank" rel="noopener noreferrer nofollow">string</a></dt>
    <dd><p>it's string type.</p>
</dd>
    <dt><code>age</code> <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.int32" target="_blank" rel="noopener noreferrer nofollow">int</a></dt>
    <dd><p>It's an out and ref parameter.</p>
</dd>
    <dt><code>realName</code> <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.string" target="_blank" rel="noopener noreferrer nofollow">string</a></dt>
    <dd><p>It's an out paramter.</p>
</dd>
    <dt><code>isHealthy</code> <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.boolean" target="_blank" rel="noopener noreferrer nofollow">bool</a></dt>
    <dd><p>It's an in parameter.</p>
</dd>
  </dl>












  <a id="CatLibrary_Cat_2__ctor_" data-uid="CatLibrary.Cat`2.#ctor*"></a>

  <h3 id="CatLibrary_Cat_2__ctor__0_" data-uid="CatLibrary.Cat`2.#ctor(`0)">
  Cat(T)
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L129"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2__ctor__0_" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>Constructor with one generic parameter.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes"><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Cat</span>(<span class="hljs-params">T ownType</span>)</span></code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>

  <h4 class="section" id="parameters-1">Parameters<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#parameters-1" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><code>ownType</code> <span class="xref">T</span></dt>
    <dd><p>This parameter type defined by class.</p>
</dd>
  </dl>












  <h2 class="section" id="fields">Fields<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#fields" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h2>



  <h3 id="CatLibrary_Cat_2_isHealthy" data-uid="CatLibrary.Cat`2.isHealthy">
  isHealthy
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L235"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_isHealthy" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>Field with attribute.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes">[<span class="hljs-meta">ContextStatic</span>]
[<span class="hljs-meta">NonSerialized</span>]
[<span class="hljs-meta">Obsolete</span>]
<span class="hljs-keyword">public</span> <span class="hljs-built_in">bool</span> isHealthy</code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>




  <h4 class="section" id="field-value">Field Value<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#field-value" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.boolean" target="_blank" rel="noopener noreferrer nofollow">bool</a></dt>
    <dd></dd>
  </dl>









  <h2 class="section" id="properties">Properties<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#properties" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h2>


  <a id="CatLibrary_Cat_2_Age_" data-uid="CatLibrary.Cat`2.Age*"></a>

  <h3 id="CatLibrary_Cat_2_Age" data-uid="CatLibrary.Cat`2.Age">
  Age
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L214"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_Age" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>Hint cat's age.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes">[<span class="hljs-meta">Obsolete</span>]
<span class="hljs-keyword">protected</span> <span class="hljs-built_in">int</span> Age { <span class="hljs-keyword">get</span>; <span class="hljs-keyword">set</span>; }</code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>





  <h4 class="section" id="property-value">Property Value<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#property-value" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.int32" target="_blank" rel="noopener noreferrer nofollow">int</a></dt>
    <dd></dd>
  </dl>








  <a id="CatLibrary_Cat_2_Item_" data-uid="CatLibrary.Cat`2.Item*"></a>

  <h3 id="CatLibrary_Cat_2_Item_System_String_" data-uid="CatLibrary.Cat`2.Item(System.String)">
  this[string]
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L205"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_Item_System_String_" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>This is index property of Cat. You can see that the visibility is different between <code>get</code> and <code>set</code> method.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes"><span class="hljs-keyword">public</span> <span class="hljs-built_in">int</span> <span class="hljs-keyword">this</span>[<span class="hljs-built_in">string</span> a] { <span class="hljs-keyword">protected</span> <span class="hljs-keyword">get</span>; <span class="hljs-keyword">set</span>; }</code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>

  <h4 class="section" id="parameters-2">Parameters<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#parameters-2" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><code>a</code> <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.string" target="_blank" rel="noopener noreferrer nofollow">string</a></dt>
    <dd><p>Cat's name.</p>
</dd>
  </dl>




  <h4 class="section" id="property-value-1">Property Value<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#property-value-1" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.int32" target="_blank" rel="noopener noreferrer nofollow">int</a></dt>
    <dd><p>Cat's number.</p>
</dd>
  </dl>








  <a id="CatLibrary_Cat_2_Name_" data-uid="CatLibrary.Cat`2.Name*"></a>

  <h3 id="CatLibrary_Cat_2_Name" data-uid="CatLibrary.Cat`2.Name">
  Name
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L259"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_Name" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>EII property.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes"><span class="hljs-keyword">public</span> <span class="hljs-built_in">string</span> Name { <span class="hljs-keyword">get</span>; }</code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>





  <h4 class="section" id="property-value-2">Property Value<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#property-value-2" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.string" target="_blank" rel="noopener noreferrer nofollow">string</a></dt>
    <dd></dd>
  </dl>








  <h2 class="section" id="methods">Methods<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#methods" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h2>


  <a id="CatLibrary_Cat_2_CalculateFood_" data-uid="CatLibrary.Cat`2.CalculateFood*"></a>

  <h3 id="CatLibrary_Cat_2_CalculateFood_System_DateTime_" data-uid="CatLibrary.Cat`2.CalculateFood(System.DateTime)">
  Override CalculateFood Name
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L146"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_CalculateFood_System_DateTime_" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>It's an overridden summary in <code>markdown</code> format</p>
</div>
  <div class="markdown level1 conceptual">
<p>This is overriding methods. You can override parameter descriptions for methods, you can even add exceptions to methods. Check the intermediate <code>obj</code> folder to see the data model of the generated method/class. Override Yaml header should follow the data structure.</p>
</div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes"><span class="hljs-keyword">public</span> Dictionary&lt;<span class="hljs-built_in">string</span>, List&lt;<span class="hljs-built_in">int</span>&gt;&gt; CalculateFood(DateTime date)</code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>

  <h4 class="section" id="parameters-3">Parameters<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#parameters-3" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><code>date</code> <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.datetime" target="_blank" rel="noopener noreferrer nofollow">Date<wbr>Time</a></dt>
    <dd><p>This is overridden description for a parameter. <code>id</code> must be specified.</p>
</dd>
  </dl>

  <h4 class="section" id="returns">Returns<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#returns" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2" target="_blank" rel="noopener noreferrer nofollow">Dictionary</a>&lt;<a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.string" target="_blank" rel="noopener noreferrer nofollow">string</a>, <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1" target="_blank" rel="noopener noreferrer nofollow">List</a>&lt;<a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.int32" target="_blank" rel="noopener noreferrer nofollow">int</a>&gt;&gt;</dt>
    <dd><p>It's overridden description for return. <code>type</code> must be specified.</p>
</dd>
  </dl>








  <h4 class="section" id="exceptions">Exceptions<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#exceptions" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.argumentexception" target="_blank" rel="noopener noreferrer nofollow">Argument<wbr>Exception</a></dt>
    <dd><p>This is an <code>overridden</code> argument exception. you can add additional exception by adding different exception <code>type</code>.</p>
</dd>
  </dl>



  <a id="CatLibrary_Cat_2_Equals_" data-uid="CatLibrary.Cat`2.Equals*"></a>

  <h3 id="CatLibrary_Cat_2_Equals_System_Object_" data-uid="CatLibrary.Cat`2.Equals(System.Object)">
  Equals(object)
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L166"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_Equals_System_Object_" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>Override the method of <code>Object.Equals(object obj).</code></p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes"><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">override</span> <span class="hljs-built_in">bool</span> <span class="hljs-title">Equals</span>(<span class="hljs-params"><span class="hljs-built_in">object</span> obj</span>)</span></code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>

  <h4 class="section" id="parameters-4">Parameters<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#parameters-4" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><code>obj</code> <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.object" target="_blank" rel="noopener noreferrer nofollow">object</a></dt>
    <dd><p>Can pass any class type.</p>
</dd>
  </dl>

  <h4 class="section" id="returns-1">Returns<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#returns-1" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.boolean" target="_blank" rel="noopener noreferrer nofollow">bool</a></dt>
    <dd><p>The return value tell you whehter the compare operation is successful.</p>
</dd>
  </dl>











  <a id="CatLibrary_Cat_2_GetTailLength_" data-uid="CatLibrary.Cat`2.GetTailLength*"></a>

  <h3 id="CatLibrary_Cat_2_GetTailLength_System_Int32__System_Object___" data-uid="CatLibrary.Cat`2.GetTailLength(System.Int32*,System.Object[])">
  GetTailLength(int*, params object[])
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L175"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_GetTailLength_System_Int32__System_Object___" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>It's an <code>unsafe</code> method.
As you see, <code class="paramref">catName</code> is a <b>pointer</b>, so we need to add <code class="languageKeyword">unsafe</code> keyword.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes"><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-built_in">long</span> <span class="hljs-title">GetTailLength</span>(<span class="hljs-params"><span class="hljs-built_in">int</span>* catName, <span class="hljs-keyword">params</span> <span class="hljs-built_in">object</span>[] parameters</span>)</span></code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>

  <h4 class="section" id="parameters-5">Parameters<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#parameters-5" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><code>catName</code> <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.int32" target="_blank" rel="noopener noreferrer nofollow">int</a>*</dt>
    <dd><p>Thie represent for cat name length.</p>
</dd>
    <dt><code>parameters</code> <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.object" target="_blank" rel="noopener noreferrer nofollow">object</a>[]</dt>
    <dd><p>Optional parameters.</p>
</dd>
  </dl>

  <h4 class="section" id="returns-2">Returns<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#returns-2" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.int64" target="_blank" rel="noopener noreferrer nofollow">long</a></dt>
    <dd><p>Return cat tail's length.</p>
</dd>
  </dl>











  <a id="CatLibrary_Cat_2_Jump_" data-uid="CatLibrary.Cat`2.Jump*"></a>

  <h3 id="CatLibrary_Cat_2_Jump__0__1_System_Boolean__" data-uid="CatLibrary.Cat`2.Jump(`0,`1,System.Boolean@)">
  Jump(T, K, ref bool)
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L155"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_Jump__0__1_System_Boolean__" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>This method have attribute above it.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes">[<span class="hljs-meta">Conditional(<span class="hljs-string">"Debug"</span>)</span>]
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Jump</span>(<span class="hljs-params">T ownType, K anotherOwnType, <span class="hljs-keyword">ref</span> <span class="hljs-built_in">bool</span> cheat</span>)</span></code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>

  <h4 class="section" id="parameters-6">Parameters<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#parameters-6" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><code>ownType</code> <span class="xref">T</span></dt>
    <dd><p>Type come from class define.</p>
</dd>
    <dt><code>anotherOwnType</code> <span class="xref">K</span></dt>
    <dd><p>Type come from class define.</p>
</dd>
    <dt><code>cheat</code> <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.boolean" target="_blank" rel="noopener noreferrer nofollow">bool</a></dt>
    <dd><p>Hint whether this cat has cheat mode.</p>
</dd>
  </dl>









  <h4 class="section" id="exceptions-1">Exceptions<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#exceptions-1" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.argumentexception" target="_blank" rel="noopener noreferrer nofollow">Argument<wbr>Exception</a></dt>
    <dd><p>This is an argument exception</p>
</dd>
  </dl>



  <h2 class="section" id="events">Events<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#events" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h2>



  <h3 id="CatLibrary_Cat_2_ownEat" data-uid="CatLibrary.Cat`2.ownEat">
  ownEat
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L226"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_ownEat" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>Eat event of this cat</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes">[<span class="hljs-meta">Obsolete(<span class="hljs-string">"This _event handler_ is deprecated."</span>)</span>]
<span class="hljs-keyword">public</span> <span class="hljs-keyword">event</span> EventHandler ownEat</code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>






  <h4 class="section" id="event-type">Event Type<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#event-type" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.eventhandler" target="_blank" rel="noopener noreferrer nofollow">Event<wbr>Handler</a></dt>
    <dd></dd>
  </dl>







  <h2 class="section" id="operators">Operators<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#operators" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h2>


  <a id="CatLibrary_Cat_2_op_Addition_" data-uid="CatLibrary.Cat`2.op_Addition*"></a>

  <h3 id="CatLibrary_Cat_2_op_Addition_CatLibrary_Cat__0__1__System_Int32_" data-uid="CatLibrary.Cat`2.op_Addition(CatLibrary.Cat{`0,`1},System.Int32)">
  operator +(Cat&lt;T, K&gt;, int)
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L184"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_op_Addition_CatLibrary_Cat__0__1__System_Int32_" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>Addition operator of this class.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-keyword">operator</span> +(Cat&lt;T, K&gt; lsr, <span class="hljs-built_in">int</span> rsr)</code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>

  <h4 class="section" id="parameters-7">Parameters<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#parameters-7" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><code>lsr</code> <a class="xref" href="CatLibrary.Cat-2.html">Cat</a>&lt;T, K&gt;</dt>
    <dd><p>..</p>
</dd>
    <dt><code>rsr</code> <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.int32" target="_blank" rel="noopener noreferrer nofollow">int</a></dt>
    <dd><p>~~</p>
</dd>
  </dl>

  <h4 class="section" id="returns-3">Returns<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#returns-3" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.int32" target="_blank" rel="noopener noreferrer nofollow">int</a></dt>
    <dd><p>Result with <i>int</i> type.</p>
</dd>
  </dl>











  <a id="CatLibrary_Cat_2_op_Explicit_" data-uid="CatLibrary.Cat`2.op_Explicit*"></a>

  <h3 id="CatLibrary_Cat_2_op_Explicit_CatLibrary_Cat__0__1___CatLibrary_Tom" data-uid="CatLibrary.Cat`2.op_Explicit(CatLibrary.Cat{`0,`1})~CatLibrary.Tom">
  explicit operator Tom(Cat&lt;T, K&gt;)
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L197"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_op_Explicit_CatLibrary_Cat__0__1___CatLibrary_Tom" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>Expilicit operator of this class.</p>
<p>It means this cat can evolve to change to Tom. Tom and Jerry.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes"><span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">explicit</span> <span class="hljs-keyword">operator</span> <span class="hljs-title">Tom</span>(<span class="hljs-params">Cat&lt;T, K&gt; src</span>)</span></code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>

  <h4 class="section" id="parameters-8">Parameters<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#parameters-8" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><code>src</code> <a class="xref" href="CatLibrary.Cat-2.html">Cat</a>&lt;T, K&gt;</dt>
    <dd><p>Instance of this class.</p>
</dd>
  </dl>

  <h4 class="section" id="returns-4">Returns<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#returns-4" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref" href="CatLibrary.Tom.html">Tom</a></dt>
    <dd><p>Advanced class type of cat.</p>
</dd>
  </dl>











  <a id="CatLibrary_Cat_2_op_Subtraction_" data-uid="CatLibrary.Cat`2.op_Subtraction*"></a>

  <h3 id="CatLibrary_Cat_2_op_Subtraction_CatLibrary_Cat__0__1__System_Int32_" data-uid="CatLibrary.Cat`2.op_Subtraction(CatLibrary.Cat{`0,`1},System.Int32)">
  operator -(Cat&lt;T, K&gt;, int)
  <a class="header-action link-secondary" title="View source" href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L189"><i class="bi bi-code-slash"></i></a>
  <a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#CatLibrary_Cat_2_op_Subtraction_CatLibrary_Cat__0__1__System_Int32_" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h3>

  <div class="markdown level1 summary"><p>Similar with operaotr +, refer to that topic.</p>
</div>
  <div class="markdown level1 conceptual"></div>

  <div class="codewrapper">
    <pre><code class="lang-csharp hljs language-csharp" data-highlighted="yes"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-built_in">int</span> <span class="hljs-keyword">operator</span> -(Cat&lt;T, K&gt; lsr, <span class="hljs-built_in">int</span> rsr)</code><a class="btn border-0 code-action" href="#" title="Copy"><i class="bi bi-clipboard"></i></a></pre>
  </div>

  <h4 class="section" id="parameters-9">Parameters<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#parameters-9" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><code>lsr</code> <a class="xref" href="CatLibrary.Cat-2.html">Cat</a>&lt;T, K&gt;</dt>
    <dd></dd>
    <dt><code>rsr</code> <a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.int32" target="_blank" rel="noopener noreferrer nofollow">int</a></dt>
    <dd></dd>
  </dl>

  <h4 class="section" id="returns-5">Returns<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="#" href="#returns-5" style="margin-left: 0.1875em; padding-right: 0.1875em; padding-left: 0.1875em;"></a></h4>
  <dl class="parameters">
    <dt><a class="xref external" href="https://learn.microsoft.com/dotnet/api/system.int32" target="_blank" rel="noopener noreferrer nofollow">int</a></dt>
    <dd></dd>
  </dl>












</article>

        <div class="contribution d-print-none">
          <a href="https://github.com/dotnet/docfx/blob/main/samples/seed/dotnet/solution/CatLibrary/Class1.cs/#L113" class="edit-link">Edit this page</a>
        </div>


      </div>

      <div class="affix">
        <nav id="affix">
      <h5 class="border-bottom">In this article</h5>
      <ul><li><a class="link-body-emphasis" href="#CatLibrary_Cat_2_examples">Examples</a></li><li><a class="link-body-emphasis" href="#CatLibrary_Cat_2_remarks">Remarks</a></li><li><a class="link-body-emphasis" href="#constructors">Constructors</a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2__ctor">Cat() </a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2__ctor_System_String_System_Int32__System_String_System_Boolean_">Cat(string,<wbr> out int,<wbr> string,<wbr> bool) </a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2__ctor__0_">Cat(T) </a></li><li><a class="link-body-emphasis" href="#fields">Fields</a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2_isHealthy">is<wbr>Healthy </a></li><li><a class="link-body-emphasis" href="#properties">Properties</a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2_Age">Age </a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2_Item_System_String_">this[string] </a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2_Name">Name </a></li><li><a class="link-body-emphasis" href="#methods">Methods</a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2_CalculateFood_System_DateTime_">Override Calculate<wbr>Food Name </a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2_Equals_System_Object_">Equals(object) </a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2_GetTailLength_System_Int32__System_Object___">Get<wbr>Tail<wbr>Length(int*, params object[]) </a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2_Jump__0__1_System_Boolean__">Jump(T,<wbr> K,<wbr> ref bool) </a></li><li><a class="link-body-emphasis" href="#events">Events</a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2_ownEat">own<wbr>Eat </a></li><li><a class="link-body-emphasis" href="#operators">Operators</a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2_op_Addition_CatLibrary_Cat__0__1__System_Int32_">operator +(Cat&lt;<wbr>T,<wbr> K&gt;<wbr>, int) </a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2_op_Explicit_CatLibrary_Cat__0__1___CatLibrary_Tom">explicit operator Tom(Cat&lt;<wbr>T,<wbr> K&gt;<wbr>) </a></li><li><a class="link-secondary" href="#CatLibrary_Cat_2_op_Subtraction_CatLibrary_Cat__0__1__System_Int32_">operator -(Cat&lt;<wbr>T,<wbr> K&gt;<wbr>, int) </a></li></ul></nav>
      </div>
    </main>

    <div class="container-xxl search-results" id="search-results"></div>

    <footer class="border-top text-secondary">
      <div class="container-xxl">
        <div class="flex-fill">
          <span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span>
        </div>
      </div>
    </footer>
  

</body></html>